Het definiëren van primaire sleutels

Bij het opstellen van een relationeel model moeten er onder andere primaire sleutels gedefinieerd worden. Dit gebeurt door onder aan de beschrijving van een entiteit en haar relaties de primaire sleutel te vermelden. In SQL wordt op een soortgelijke manier aangegeven wat een primaire sleutel is. De volgende statements geven de declaratie in SQL van het relatieschema STUDENT weer. Het veld tex2html_wrap_inline1601 wordt als primaire sleutel gedefinieerd. De voorwaarde die aan een primaire sleutel wordt gesteld, namelijk dat deze de bestaande entiteit in één enkele toestand van het systeem identificeert, wordt na het definiëren van een primaire sleutel door SQL zelf bijgehouden. Dit is ook de reden waarom een primaire sleutel door SQL als een constraint gezien wordt: het is een beperking aan de mogelijke waarden in de tabel.

create table STUDENT(
        student_nr      integer         not null,
        naam            char(20),
        adres           char(32),
        constraint pk_student_nr 
                primary key (student_nr) );

Zoals te zien is in bovenstaande tekst is het verplicht om de code woorden constraint en primary key te gebruiken. De naam van de constraint is pk_student_nr en het attribuut waaruit de primaire sleutel bestaat is student_nr. Een primaire sleutel kan uit meerdere attributen bestaan.